Дано три
различных числа a, b, c.
Выведите среднее из них.
Вход. Три целых
числа a, b, c, по модулю не
превышающих 1000.
Выход. Выведите
среднее среди трех чисел.
|
Пример входа |
Пример выхода |
|
11 3 7 |
7 |
элементарные вычисления
Рассмотрим
решение при помощи полного перебора, используя условный оператор. Средним
числом среди a, b, c будет:
·
a, если b ≤ a ≤ c или b ≥ a ≥ c;
·
b, если a ≤ b ≤ c или a ≥ b ≥ c;
·
c, если a ≤ c ≤ b или a ≥ c ≥ b;
Рассмотрим
решение с использованием функций минимума и максимума. Средним числом среди a, b,
c будет a + b + c – min(a, b, c) – max(a, b, c).
Рассмотрим
решение с использованием сортировки. Прочитаем три числа в массив длины 3 и
отсортируем его. Средний элемент массива является средним среди трех чисел.
Реализация алгоритма
Читаем входные данные. Вычисляем
ответ по формуле и выводим его.
scanf("%d %d %d",&a,&b,&c);
if ((b <= a && a <= c) || (b >=
a && a >= c)) res = a;
else if
((a <= b && b <= c) || (a >= b && b >= c)) res = b;
else res = c;
printf("%d\n",res);
Реализация алгоритма – при помощи min и max
#include <stdio.h>
int a, b, c, res;
int min(int
x, int y)
{
return (x < y) ? x : y;
}
int max(int
x, int y)
{
return (x > y) ? x : y;
}
int main(void)
{
scanf("%d %d %d",&a,&b,&c);
res = a + b + c -
min(a, min(b, c)) - max(a, max(b, c));
printf("%d\n",res);
return 0;
}
Реализация алгоритма – при помощи сортировки
#include <cstdio>
#include <algorithm>
using namespace
std;
int m[3];
int main(void)
{
scanf("%d %d %d",&m[0],&m[1],&m[2]);
sort(m,m+3);
printf("%d\n",m[1]);
return 0;
}
Java реализация
import java.util.*;
public class Main
{
static int min(int x, int y, int z)
{
return Math.min(x, Math.min(y, z));
}
static int max(int x, int y, int z)
{
return Math.max(x, Math.max(y, z));
}
public static void main(String[] args)
{
Scanner con = new
Scanner(System.in);
int a = con.nextInt();
int b = con.nextInt();
int c = con.nextInt();
int res = a + b + c - max(a, b, c) - min(a, b, c);
System.out.println(res);
con.close();
}
}
Python реализация
a, b, c = map(int, input().split())
res = a + b + c - min(a, b, c) - max(a, b, c)
print(res)